public bool SetDateValue(
DicomElement element,
DicomDateValue[] value
)
public boolean setDateValue(DicomElement element, DicomDateValue[] values)
public:
bool SetDateValue(
DicomElement^ element,
array<DicomDateValue>^ value
)
element
An item in the Data Set.
value
Pointer to an array of DicomDateValue objects that contain the Date value(s) to set.
true if the Date values were set successfully; otherwise, it is false (the Date values of the Data Element could not be set).
This method can be called only if the Value Representation of the Data Element is DicomVRType.DA. For more information about Value Representations, refer to Default Value Representation Table.
using Leadtools;
using Leadtools.Dicom;
public void DicomSetGetValueTest()
{
//Make sure to initialize the DICOM engine, this needs to be done only once
//In the whole application
DicomEngine.Startup();
using (DicomDataSet dicomDataset = new DicomDataSet())
{
dicomDataset.Reset();
dicomDataset.Initialize(DicomClassType.Undefined, DicomDataSetInitializeType.ExplicitVRLittleEndian);
DicomElement element = dicomDataset.InsertElement(null, false, DicomTag.CineRate, DicomVRType.IS, false, 0);
if (element != null)
{
dicomDataset.SetIntValue(element, new int[] { 30 }, 1);
int[] value = dicomDataset.GetIntValue(element, 0, 1);// can also call GetLongValue
Debug.Assert(value[0] == 30);
}
element = dicomDataset.InsertElement(null, false, DicomTag.ChannelMaximumValue, DicomVRType.OB, false, 0);
if (element != null)
{
dicomDataset.SetByteValue(element, new byte[] { 55 }, 1);
byte[] value = dicomDataset.GetByteValue(element, 0, 1);
Debug.Assert(value[0] == 55);
}
element = dicomDataset.InsertElement(null, false, DicomTag.PregnancyStatus, DicomVRType.US, false, 0);
if (element != null)
{
dicomDataset.SetShortValue(element, new short[] { 2 }, 1);
short[] value = dicomDataset.GetShortValue(element, 0, 1);
Debug.Assert(value[0] == 2);
}
element = dicomDataset.InsertElement(null, false, DicomTag.SliceLocation, DicomVRType.DS, false, 0);
if (element != null)
{
dicomDataset.SetDoubleValue(element, new double[] { 10.5 }, 1);
double[] value = dicomDataset.GetDoubleValue(element, 0, 1);
Debug.Assert(value[0] == 10.5);
}
element = dicomDataset.InsertElement(null, false, DicomTag.PresentationPixelMagnificationRatio, DicomVRType.FL, false, 0);
if (element != null)
{
dicomDataset.SetFloatValue(element, new float[] { 3.2F }, 1);
float[] value = dicomDataset.GetFloatValue(element, 0, 1);
Debug.Assert(value[0] == 3.2F);
// Or you can use this overload
dicomDataset.SetFloatValue(element, 4.0F);
value = dicomDataset.GetFloatValue(element, 0, 1);
Debug.Assert(value[0] == 4.0F);
}
element = dicomDataset.InsertElement(null, false, DicomTag.InstanceCreationDate, DicomVRType.DA, false, 0);
if (element != null)
{
DicomDateValue[] newvalue = new DicomDateValue[1];
newvalue[0].Year = 2004;
newvalue[0].Month = 1;
newvalue[0].Day = 8;
dicomDataset.SetDateValue(element, newvalue);
DicomDateValue[] value = dicomDataset.GetDateValue(element, 0, 1);
Debug.Assert((value[0].Year == 2004) && (value[0].Month == 1) && (value[0].Day == 8));
// Or you can use the SetDateValue overload that takes a single DicomDateValue
dicomDataset.SetDateValue(element, new DicomDateValue(1961, 6, 5));
value = dicomDataset.GetDateValue(element, 0, 1);
Debug.Assert((value[0].Year == 1961) && (value[0].Month == 6) && (value[0].Day == 5));
}
element = dicomDataset.InsertElement(null, false, DicomTag.InstanceCreationTime, DicomVRType.TM, false, 0);
if (element != null)
{
DicomTimeValue[] newvalue = new DicomTimeValue[1];
newvalue[0].Hours = 2;
newvalue[0].Minutes = 3;
newvalue[0].Seconds = 5;
dicomDataset.SetTimeValue(element, newvalue);
DicomTimeValue[] value = dicomDataset.GetTimeValue(element, 0, 1);
Debug.Assert((value[0].Hours == 2) && (value[0].Minutes == 3) && (value[0].Seconds == 5));
}
element = dicomDataset.InsertElement(null, false, DicomTag.AcquisitionDateTime, DicomVRType.DT, false, 0);
if (element != null)
{
DicomDateTimeValue[] newvalue = new DicomDateTimeValue[1];
newvalue[0].Year = 2004;
newvalue[0].Month = 1;
newvalue[0].Day = 8;
newvalue[0].Hours = 2;
newvalue[0].Minutes = 3;
newvalue[0].Seconds = 5;
dicomDataset.SetDateTimeValue(element, newvalue);
DicomDateTimeValue[] value = dicomDataset.GetDateTimeValue(element, 0, 1);
Debug.Assert((value[0].Hours == 2) && (value[0].Minutes == 3) && (value[0].Seconds == 5));
}
element = dicomDataset.InsertElement(null, false, DicomTag.PatientAge, DicomVRType.AS, false, 0);
if (element != null)
{
DicomAgeValue[] newvalue = new DicomAgeValue[1];
newvalue[0].Number = 25;
newvalue[0].Reference = DicomAgeReferenceType.Days;
dicomDataset.SetAgeValue(element, newvalue);
DicomAgeValue[] value = dicomDataset.GetAgeValue(element, 0, 1);
Debug.Assert((value[0].Number == 25));
}
element = dicomDataset.InsertElement(null, false, DicomTag.PatientName, DicomVRType.PN, false, 0);
if (element != null)
{
dicomDataset.FreeElementValue(element);
dicomDataset.SetStringValue(element, "John Doe", DicomCharacterSetType.Default);
Debug.Assert(dicomDataset.GetElementValueCount(element) == 1);
Debug.Assert(dicomDataset.GetStringValue(element, 0) == "John Doe");
}
byte[] inPreamble = new byte[128];
for (int i = 0; i < 128; i++)
{
inPreamble[i] = (byte)i;
}
dicomDataset.SetPreamble(inPreamble, 0, 128);
byte[] outPreamble = dicomDataset.GetPreamble(128);
// Or you can use this overload which takes an offset
dicomDataset.GetPreamble(out outPreamble, 0, 128);
Debug.Assert(inPreamble.Length == outPreamble.Length);
element = dicomDataset.FindFirstElement(element, DicomTag.NumberOfRemainingSubOperations, true);
if (element != null)
{
//We don't really need to do this
dicomDataset.FreeElementValue(element);
byte[] inBinaryValue = new byte[2];
inBinaryValue[0] = 0;
inBinaryValue[1] = 1;
dicomDataset.SetBinaryValue(element, inBinaryValue, 2);
byte[] outBinaryValue = dicomDataset.GetBinaryValue(element, 2);
Debug.Assert((outBinaryValue[0] == 0) && (outBinaryValue[1] == 1));
}
element = dicomDataset.InsertElement(null, false, DicomTag.StudyDate, DicomVRType.DA, false, 0);
if (element != null)
{
DicomDateValue date1 = new DicomDateValue();
date1.Day = 1;
date1.Month = 2;
date1.Year = 2005;
DicomDateRangeValue[] newvalue = new DicomDateRangeValue[1];
newvalue[0].Date1 = date1;
newvalue[0].Type = DicomRangeType.Lower;
dicomDataset.SetDateRangeValue(element, newvalue);
DicomDateRangeValue value = dicomDataset.GetDateRangeValue(element, 0);
Debug.Assert((value.Type == DicomRangeType.Lower) && (value.Date1.Year == 2005));
}
element = dicomDataset.InsertElement(null, false, DicomTag.StudyTime, DicomVRType.TM, false, 0);
if (element != null)
{
DicomTimeValue time1 = new DicomTimeValue();
time1.Hours = 2;
time1.Minutes = 1;
time1.Seconds = 3;
DicomTimeRangeValue[] newvalue = new DicomTimeRangeValue[1];
newvalue[0].Time1 = time1;
newvalue[0].Type = DicomRangeType.Lower;
dicomDataset.SetTimeRangeValue(element, newvalue);
DicomTimeRangeValue value = dicomDataset.GetTimeRangeValue(element, 0);
Debug.Assert((value.Type == DicomRangeType.Lower) && (value.Time1.Hours == 2));
}
element = dicomDataset.InsertElement(null, false, DicomTag.PatientID, DicomVRType.LO, false, 0);
if (element != null)
{
dicomDataset.SetConvertValue(element, "154-4485", 1);
Debug.Assert(dicomDataset.GetConvertValue(element) == "154-4485");
}
element = dicomDataset.InsertElement(null, false, DicomTag.SelectorULValue, DicomVRType.UL, false, 0);
if (element != null)
{
// Set two unsigned integer values (minimum and maximum unsigned 32-bit values)
long[] values = new long[] { 0, 4294967295 };
dicomDataset.SetLongValue(element, values, 2);
string s = dicomDataset.GetConvertValue(element);
Debug.Assert(dicomDataset.GetConvertValue(element) == "0\\4294967295");
}
dicomDataset.Save(Path.Combine(LEAD_VARS.ImagesDir, "Test.dcm"), DicomDataSetSaveFlags.None);
}
DicomEngine.Shutdown();
}
static class LEAD_VARS
{
public const string ImagesDir = @"C:\LEADTOOLS23\Resources\Images";
}
SetDateValue(DicomElement,DateTime[]) Method
SetDateValue(DicomElement,DicomDateValue[]) Method
SetDateValue(DicomElement,DicomDateValue) Method
SetTimeValue(DicomElement,DicomTimeValue[]) Method
SetTimeValue(DicomElement,DateTime[]) Method
SetDateTimeValue(DicomElement,DicomDateTimeValue[]) Method
SetDateTimeValue(DicomElement,DateTime[]) Method
SetDoubleValue(DicomElement,Double[],Int32) Method
SetFloatValue(DicomElement,Single[],Int32) Method
SetIntValue(DicomElement,Int32[],Int32) Method
SetShortValue(DicomElement,Int16[],Int32) Method
SetByteValue(DicomElement,Byte[],Int32) Method
SetBinaryValue(DicomElement,Byte[],Int32) Method
SetStringValue(DicomElement,string) Method
SetStringValue(DicomElement,string,DicomCharacterSetType) Method
SetStringValue(DicomElement,string[]) Method
SetStringValue(DicomElement,string[],DicomCharacterSetType) Method
SetStringValuePtr(DicomElement,IntPtr,int) Method
SetStringValuePtr(DicomElement,IntPtr,int,DicomCharacterSetType) Method
Help Collections
Raster .NET | C API | C++ Class Library | HTML5 JavaScript
Document .NET | C API | C++ Class Library | HTML5 JavaScript
Medical .NET | C API | C++ Class Library | HTML5 JavaScript
Medical Web Viewer .NET
Multimedia
Direct Show .NET | C API | Filters
Media Foundation .NET | C API | Transforms
Supported Platforms
.NET, Java, Android, and iOS/macOS Assemblies
Imaging, Medical, and Document
C API/C++ Class Libraries
Imaging, Medical, and Document
HTML5 JavaScript Libraries
Imaging, Medical, and Document